// Defines armour types
//--------------------------------
#ifndef ARMOURDATA_H
#define ARMOURDATA_H
#include "item.h"

class Armour : public Item, public BIItemSymbol, public BIItemCategory, public BIItemType {
public:
    
    Armour() { }
    virtual ~Armour() { }

protected:

    virtual bool ItemSymbol( IO::Sym* symbol ) const;
    virtual bool ItemType( uint* type ) const;
    virtual bool ItemCategory( uint* category ) const;

};

class LeatherVest : public Armour, public BICreateWearBuff, public BIFlammable, public BIItemWeight {
public:

    LeatherVest() { }
    virtual ~LeatherVest() { }

protected:

    virtual bool Name( std::string* name, bool* plural, uint article ) const;
    virtual bool ItemSymbol( IO::Sym* symbol ) const;
    virtual bool ItemWeight( uint* weight ) const;
    virtual bool CreateWearBuff(  CompoundBuff** buff ) const;
    virtual bool Flammable( uint* flammableType ) const;
    virtual bool OnEaten( Creature* c );

};

#endif
